import netifaces
import os
import requests


def get_outside_ip():
    """
    获取外部IP
    """
    # return requests.get("http://ifconfig.me/ip", timeout=5).text.strip()
    return os.environ.get("OUTSIDE", requests.get("http://ifconfig.me/ip", timeout=5).text.strip())


def get_local_ip():
    """
    参数：系统中指定网络接口（网卡）的名字
    返回值：字典（包括ip地址）
    """
    # 获取当前操作系统的网络接口名字（获取当前主机所有的网卡设备）
    ip = None
    interfaces = netifaces.interfaces()
    for interface in interfaces:
        if interface.startswith('en'):
            # 返回值：字典（包括ip地址）
            addrs = netifaces.ifaddresses(interface)
            if netifaces.AF_INET in addrs:
                ip = addrs[netifaces.AF_INET][0]['addr']
                break

    if ip is None:
        ip = os.environ.get('LOACLSIDE', None)
    print(ip)
    print(os.environ.get('LOACLSIDE'))
    return ip
